/**
 * 该类是用以封装统一返回前端结果的配置项
 */
class JsonResult {
    constructor(code,message,data){
        this.code=code;
        this.message=message;
        this.data=data;
        this.status=200;
    };
    //成功时返回
    static success(message,data){
        return new JsonResult(JsonResult.STATUS_SUCCESS_CODE,message,data);
    };
    //数据库出错时返回
    static databaseError(message,data){
        return new JsonResult(JsonResult.STATUS_DATABASE_CODE,message,data);
    };
    //系统出错时返回
    static systemError(message,data){
        return new JsonResult(JsonResult.STATUS_SYSTEM_CODE,message,data);
    };
    //请求成功但是数据不对时返回
    static successNo(message,data){
        return new JsonResult(JsonResult.STATUS_SUCCESS_NO_CODE,message,data);
    };
    // 中间件方法出错
    static middlewareFail(message,data){
        return new JsonResult(JsonResult.STATUS_MIDDLEWARE_CODE,message,data);
    };
};

JsonResult.STATUS_SUCCESS_CODE=1000; //成功时返回code码
JsonResult.STATUS_DATABASE_CODE=1001; //数据库出错时返回code码
JsonResult.STATUS_SYSTEM_CODE=1002; //系统出错时返回code码
JsonResult.STATUS_SUCCESS_NO_CODE=1003; //请求成功但是数据不对时返回code码（如密码错误）
JsonResult.STATUS_MIDDLEWARE_CODE=1004; //中间件错误

module.exports=JsonResult;